Govindarajan , Altman , and Gao : Resource - Constrained Rate - Optimal Software Pipelining
نویسندگان
چکیده
| The rapid advances in high-performance computer architecture and compilation techniques provide both challenges and opportunities to exploit the rich solution space of software pipelined loop schedules. In this paper, we develop a framework to construct a software pipelined loop schedule which runs on the given architecture (with a xed number of processor resources) at the maximum possible iteration rate ((a la rate-optimal) while minimizing the number of buuers | a close approximation to minimizing the number of registers. The main contributions of this paper are: First, we demonstrate that such problem can be described by a simple mathematical formulation with precise optimization objectives under a periodic linear scheduling framework. The mathematical formulation provides a clear picture which permits one to visualize the overall solution space (for rate-optimal schedules) under diierent sets of constraints. Secondly, we show that a precise mathematical formulation and its solution does make a signiicant performance diierence. We evaluated the performance of our method against three leading contemporary heuristic methods. Experimental results show that the method described in this paper performed signiicantly better than these methods. The techniques proposed in this paper are useful in two diierent ways: (i) As a compiler option which can be used in generating faster schedules for performance-critical loops (if the interested users are willing to trade the cost of longer compile time with faster runtime). (ii) As a framework for compiler writers to evaluate and improve other heuristics-based approaches by providing quantitative information as to where and how much their heuristic methods could be further improved.
منابع مشابه
A Unified Framework for Instruction Scheduling and Mapping for Function Units with Structural Hazards
Software pipelining methods based on an ILP (integer linear programming) framework have been successfully applied to derive rate-optimal schedules under resource constraints. However, like many other previous works on software pipelining, ILP-based work has focused on resource constraints of simple function units, e.g., “clean pipelines”—pipelines without structural hazards. The problem for arc...
متن کاملInstruction Scheduling in the Presence of Structural Hazards: An Integer Programming Approach to Software Pipelining
Software pipelining is an eecient instruction scheduling method to exploit the multiple instructions issue capability of modern VLIW architectures. In this paper we develop a precise mathematical formulation based on ILP (Integer Linear Programming) for the software pipelining problem for architectures involving structural hazards. Compared to other heuris-tic methods as well as an ILP-based me...
متن کاملA Framework for Resource-Constrained Rate-Optimal Software Pipelining
The rapid advances in high-performance computer architecture and compilation techniques provide both challenges and opportunities to exploit the rich solution space of software pipelined loop schedules. In this paper, we develop a framework to construct a software pipelined loop schedule which runs on the given architecture (with a fixed number of processor resources) at the maximum possible it...
متن کاملTheory of Modulo-Scheduled Pipelines
Extensive research work has been reported on the scheduling of hardware pipelines and software pipelining independently, One interesting problem is how to extend hardware pipeline theory to handle software pipelined loops in user programs. More specifically , the problem is how to maximize the utilization of hardware resources under modulo scheduling for a given II. In this paper, we develop a ...
متن کاملAn Enhanced Co-Scheduling Method Using Reduced MS-State Diagrams
Instruction scheduling methods based on the construction of state diagrams (or automata) have been used for architectures involving deeply pipelined function units. However, the size of the state diagram is prohibitively large, resulting in high execution time and space requirement. In this paper, we present a simple method for reducing the size of the state diagram by recognizing unique paths ...
متن کامل